Nautilus-actions est une extension de nautilus permettant d'ajouter des fonctions au menu contextuel (menu lors d'un clic droit). Ces fonctions sont appelées actions.
Nautilus-actions fonctionne un peu comme nautilus scripts à part que sa configuration se fait entièrement graphiquement et que ce ne sont pas des scripts que l'on ajoute mais des actions (fichier xml de configuration de gconf en *.schemas).
Il permet aussi de filtrer les fichiers auxquels les actions peuvent s'appliquer (on ne peut pas tagguer un fichier texte, inversement on ne peut pas éditer en sudo un fichier mp3).
Les images sont toujours plus éloquentes :
Une simple ligne de commande (dépôts Universe nécessaire) : apt://nautilus-actions
Beaucoup d'actions nécessitent le paquet zenity qui permet de faire une interface graphique en GTK à partir de n'importe quel script. C'est pourquoi, il est recommandé d'installer zenity : apt://zenity
Pour ajouter des actions vous avez le choix :
Ouvrez la fenêtre de configuration de nautilus-actions Système>Préférences>Configuration des actions de nautilus. Puis ajouter.
Un Conseil pour créer une action prenez exemple sur celles déjà existantes ça vous simplifiera la vie.
C'est un onglet très important, il permet de spécifier quel type de fichiers sont concernés (MIMETYPE et expression régulière) et si les dossiers sont concernés les fichiers ou bien les deux.
Cet onglet permet d'aller plus loin en spécifiant si les fichiers doivent être locaux ou en réseau ou que sais-je encore.
Ouvrer la fenêtre de configuration de nautilus-actions Système>Préférences>Configuration des actions de nautilus.
Sélectionner l'action à importer au format .schemas en face du champs Fichier à importer
Puis vérifier que dans la partie type de configuration ce soit bien Fichier de configuration de schéma GConf (nautilus-actions v1.x et ultérieur)
Valider et c'est fini !
Il peut-être pratique de pouvoir ajouter une action à nautilus depuis la ligne de commande. La commande nautilus-actions-new est utilisée pour ce, par exemple:
nautilus-actions-new --label="Action à effectuer" -p "%d %m" -x /chemin/du/programme -d -u -g
détails des paramètres:
: ceci ne fonctionne plus ! ]pour plus de détails, voir la sortie de la commande nautilus-actions-new dans un terminal.
pour supprimer une action depuis la ligne de commande, c'est une autre paire de manche: il faut identifier les schemas et keys (on peut passer par un fichier temporaire plutôt que d'utiliser l'option -g):
gconftool-2 --recursive-unset /path/your/schemas/in/gconf gconftool-2 --recursive-unset /path/your/keys/in/gconf
On peut tout de même le faire facilement depuis l'outil graphique
Pour que Nautilus prenne en charge vos actions en compte, il faut redémarrer nautilus après l'installation du nouveau paquet :
nautilus -q
Déposer ici vos actions au format gconf.schema.
TODO Pour l'instant il m'est impossible d'uploader ici les fichiers .schemas, il faut les télécharger en version anglaise, à partir du site officiel
Nécessite Easytag. Utile pour taguer rapidement des fichiers mp3 ou bien ogg.
Pour monter une image de cd au format iso en un clic. Nécessite un script.
Pour démonter une image de cd au format iso en un clic. Nécessite un script.
Actions utiles uniquement pour développer une action. Nécessite zenity.
Cette action est facultative.
Il suffit de faire un glisser-déposer avec le bouton du milieu d'une image sur le bureau pour changer rapidement le fond d'écran.
Cette action permet en 2 clics de changer facilement et rapidement son fond d'écran.
Permet d'éditer en tant qu'utilisateur root un fichier texte de configuration par exemple.
Permet de rajouter des fichiers audio dans la liste courante de lecture d'XMMS.
Permet de renommer vos photos selon des méta-données EXIF
Permet de renommer les fichiers ou dossiers sélectionnés
Ouvre un terminal avec pour dossier de travail le dossier où l'on se trouve. Lien pour télécharger l'action (anglais)
Ou plus simplement par les dépôts : apt://nautilus-open-terminal (qui sera dans menu principal, pas dans script).
Permet de créer un lien symbolique vers une destination choisie.
#!/bin/sh
TARGET=`zenity --file-selection --save --confirm-overwrite --filename="$1 - Lien"` if [ "$TARGET" != "" ]; then rm -rf "$TARGET" ln -s -f "$1" "$TARGET" fi;
chmod +x ~/.lnto
Permet d'envoyer un email contenant les fichiers/dossiers sélectionnés.
Lien pour télécharger l'action (également disponible en script).
(lien mort)
Voici un script permettant d'envoyer un email contenant les fichiers sélectionnés mais aussi de redimensionner les images. (script légèrement corrigé de Lien)
#!/bin/bash # Creation le : 19/10/2005 par eddy http://forum.ubuntu-fr.org/profile.php?id=1142 # Edite le 18/06/2011 par jOoL - www.jool.ch # Modifié et corrigé le 05/03/2014 # Attention : les packages zenity et imagemagick doivent etre installes au prealable # # On verifie tout d'abord qu'il y a bien au moins un fichier selectionne if [ $# -eq 0 ]; then zenity --warning --title="Attention" --text="Il faut sélectionner au moins un fichier !" exit 1 fi # On memorise le nombre de fichiers a envoyer NB_FILES=$# # On ecrase une eventuelle precedente liste de fichiers attaches echo "" > /tmp/attachment.log # On passe en revue la liste des fichiers a envoyer (while [ $# -gt 0 ]; do # Pour chaque fichier on memorise son nom et son uri fullfilename=$(basename "$1") extension=${fullfilename##*.} filename=${fullfilename%.*} FILE_NAME="$filename.$extension" FILE_URI="$1" # On passe les infos a la fenetre de progression let "COMPTEUR += 1" echo "# Traitement du fichier $FILE_NAME ($COMPTEUR/$NB_FILES) ..." let "PROGRESS = COMPTEUR*100/NB_FILES" echo $PROGRESS # On teste si le fichier est une image IS_IMAGE=`file -bi "$FILE_NAME" | grep -c image` if [ $IS_IMAGE != 0 ]; then # Si c'est une image on demande une fois (pour toutes) la definition souhaitee # pour cette image (et les eventuelles autres) if [ ! $DEF_ASKED ]; then # On attend un peu pour que la fenêtre n'arrive pas avant la fenetre de progression ... sleep 2 DEF=`zenity --list --title "Redimensionner l'(es) image(s) ..." --text="Choisir une définition maximum ci-dessous (ou cliquer sur Annuler pour envoyer les images sans modification)" --radiolist --column "" --column "Taille" TRUE 1280x1024 FALSE 1024x768 FALSE 800x600 FALSE 640x480` MAX_DEF=`echo "$DEF" | awk -F'x' '{ print $1 }'` DEF="${MAX_DEF}x${MAX_DEF}" DEF_ASKED=1 fi if [ "$DEF" != "x" ]; then # Si une definition a ete specifiee, on va contruire # une copie de l'image (reduite) dans le répertoire temporaire convert "$FILE_NAME" -resize $DEF "/tmp/$FILE_NAME" # On memorise l'uri de l'image reduite a la place de celle de l'image d'origine FILE_URI="/tmp/$FILE_NAME" fi fi # On rajoute l'uri du fichier a la liste if [ "$ATTACHMENT" == "" ]; then ATTACHMENT=$FILE_URI else ATTACHMENT=$ATTACHMENT,$FILE_URI fi # On enregistre la liste provisoire des fichiers echo $ATTACHMENT > /tmp/attachment.log # Et on passe au fichier suivant ... shift done) | zenity --progress --auto-close --title="Préparation" --text="Traitement en cours ..." --percentage=0 # On recupere la liste des fichiers et on rajoute des quotes autour ATTACHMENT=`cat /tmp/attachment.log` ATTACHMENT=\'$ATTACHMENT\' # On teste si Thunderbird est lance pour choisir # la bonne façon de joindre les fichiers MOZ_ON=`ps -ec | grep -c mozilla-thunder` if [ $MOZ_ON != 0 ]; then thunderbird -remote "xfeDoCommand(composeMessage,attachment=$ATTACHMENT)" else thunderbird -compose "attachment=$ATTACHMENT" fi
site officiel [eng], il regorge d'actions
Fatal error: Access denied for user: 'grumz@%' to database 'grumz' query: INSERT INTO sessions (sid, uid, hostname, timestamp) VALUES ('09f0c3bf9513c5eb4d9dc951b517e47a', 0, '31.34.87.55', 1392732815) in /homez.44/grumz/www/includes/database.mysql.inc on line 66
Contributeurs : meven